#ifndef ID_PERSONNE_H
#define ID_PERSONNE_H

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <opencv/cv.h>
#include <vector>

#include "Directory.h"
#include "MatrixFile.h"
#include "meta.h"

// lance la reconnaissance de visages pour chaque visage de la photo
void identifierVisages(std::string outputDir, vector<int> ids);

// parcours le dossier uploads/ contenant les dossiers des utilisateurs
int id_utilisateurs(const CvMat* v1, CvMat* v2);

// parcours les galleries d'un utilisateur
void id_galeries(const CvMat* v1, CvMat* v2, string path, vector<int> v_id, vector<double> v_distance, vector<int> v_cpt);

// parcours les images d'une galerie
void id_images(const CvMat* v1, CvMat* v2, string path, vector<int> v_id, vector<double> v_distance, vector<int> v_cpt);

// parcours les visages d'une image
void id_visages(const CvMat* v1, CvMat* v2, string path, vector<int> v_id, vector<double> v_distance, vector<int> v_cpt);

// retourne la distance entre v1 et v2
float distanceVisages(const CvMat* v1, const CvMat* v2);

#endif
